package com.carleasoft.mps.qa.business.anwser.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.qa.business.anwser.bean.entity.NaireEntity;
import com.carleasoft.mps.qa.business.anwser.bean.entity.NaireRecordEntity;
import com.carleasoft.mps.qa.business.anwser.bean.po.NairePagePo;
import com.carleasoft.mps.qa.business.anwser.bean.po.PageAnswerPo;
import com.carleasoft.mps.qa.business.anwser.bean.vo.AnswerPageQueryVo;
import com.carleasoft.mps.qa.business.anwser.bean.vo.PageAnswerVo;
import com.carleasoft.mps.qa.business.anwser.bean.vo.ScoreCountVo;
import org.apache.catalina.servlet4preview.http.HttpServletRequest;

/**
 * @author: yangHao
 * @createDate:2023/5/24
 * @description:
 */
public interface NaireService  extends IService<NaireEntity> {


    boolean saveNaire(NaireEntity naireEntity);

    Page<NaireEntity> pageQuery(Page page, NairePagePo nairePagePo);

    boolean delete(NaireEntity naireEntity);

    NaireEntity detail(NaireEntity naireEntity);

    boolean copy(NaireEntity naireEntity);

    boolean submit(NaireRecordEntity naireRecordEntity, HttpServletRequest request);

    Page<AnswerPageQueryVo> answerPageQuery(Page page, NairePagePo nairePagePo);

    Page<PageAnswerVo> pageAnswer(Page page, PageAnswerPo pageAnswerPo);

    boolean deleteUserAnswer(PageAnswerPo pageAnswerPo);

    ScoreCountVo scoreCount(NaireEntity naireEntity);
}
